home *** CD-ROM | disk | FTP | other *** search
Text File | 1987-09-18 | 731 b | 24 lines | [TEXT/MACA] |
- (begin-tasking)
-
- (define (unequal1 x . lists)
- (cond ((null? lists) #f)
- ((equal? x (car lists))
- (apply unequal1 (cons x (cdr lists))))
- (else (car lists))))
-
- (define (unequal2 x . objects)
- (let* ((ans #f)
- (task-count (length objects))
- (tasks (map (lambda (y)
- (start-task
- (lambda ()
- (if (not (equal? x y))
- (begin (set! ans y)
- (set! task-count 0)))
- (set! task-count (- task-count 1)))))
- objects)))
- (while (> task-count 0)
- (surrender-timeslice))
- (for-each kill-task tasks)
- ans))
-